home *** CD-ROM | disk | FTP | other *** search
- int
- do_msgsnd(arglast)
- int *arglast;
- {
- #ifdef HAS_MSG
- register STR **st = stack->ary_array;
- register int sp = arglast[0];
- STR *mstr;
- char *mbuf;
- int id, msize, flags;
-
- id = (int)str_gnum(st[++sp]);
- mstr = st[++sp];
- flags = (int)str_gnum(st[++sp]);
- mbuf = str_get(mstr);
- if ((msize = mstr->str_cur - sizeof(long)) < 0) {
- errno = EINVAL;
- return -1;
- }
- errno = 0;
- return msgsnd(id, (struct msgbuf *)mbuf, msize, flags);
- #else
- fatal("msgsnd not implemented");
- #endif
- }
-
-